Estaba leyendo un código, vi la siguiente línea del código y me pregunto cómo funciona esta línea de código:
const roles = Object.values(foundUser.roles).filter(Boolean);Si este es el esquema de usuario:
const userSchema = new Schema({ email: { type: String, required: true, unique: true }, username: { type: String, // required: true, unique: true }, password: { type: String, required: true }, roles: { User: { type: Number, default: 2001 }, Editor: Number, Admin: Number }, refreshToken: [String] }); No puedo entender qué hace la función de filter(Boolean) ? ¿Qué significa Boolean como entrada? ¿Qué va al filter() y qué sale de él?
EDITAR: Por ejemplo, si tenemos un objeto Usuario que tiene el valor predeterminado de roles: {User: {type: Number, default: 2001} , Editor: undefined , Admin: undefined} ¿cuál sería el valor de los const roles ? [2001] o [User] ?